Processing math: 100%

solve_cholesky Interface

public interface solve_cholesky

Module Procedures

private subroutine solve_cholesky_mtx(upper, a, b, err)

Solves the system of Cholesky factored equations AX=RTRX=B or AX=LLTX=B.

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: upper

Set to true if A is factored such that A=RTR; else, set to false if A is factored such that A=LLT.

real(kind=real64), intent(in), dimension(:,:) :: a

The N-by-N Cholesky factored matrix as returned by cholesky_factor.

real(kind=real64), intent(inout), dimension(:,:) :: b

On input, the N-by-NRHS matrix B. On output, the resulting N-by-NRHS matrix X.

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.

private subroutine solve_cholesky_mtx_cmplx(upper, a, b, err)

Solves the system of Cholesky factored equations AX=RHRX=B or AX=LLHX=B.

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: upper

Set to true if A is factored such that A=RHR; else, set to false if A is factored such that A=LLH.

complex(kind=real64), intent(in), dimension(:,:) :: a

The N-by-N Cholesky factored matrix as returned by cholesky_factor.

complex(kind=real64), intent(inout), dimension(:,:) :: b

On input, the N-by-NRHS matrix B. On output, the resulting N-by-NRHS matrix X.

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.

private subroutine solve_cholesky_vec(upper, a, b, err)

Solves the system of Cholesky factored equations Ax=RTRx=b or Ax=LLTx=b.

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: upper

Set to true if A is factored such that A=RTR; else, set to false if A is factored such that A=LLT.

real(kind=real64), intent(in), dimension(:,:) :: a

The N-by-N Cholesky factored matrix as returned by cholesky_factor.

real(kind=real64), intent(inout), dimension(:) :: b

On input, the N-element vector b. On output, the resulting N-element vector x.

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.

private module subroutine solve_cholesky_vec_cmplx(upper, a, b, err)

Solves the system of Cholesky factored equations Ax=RHRx=b or Ax=LLHx=b.

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: upper

Set to true if A is factored such that A=RHR; else, set to false if A is factored such that A=LLH.

complex(kind=real64), intent(in), dimension(:,:) :: a

The N-by-N Cholesky factored matrix as returned by cholesky_factor.

complex(kind=real64), intent(inout), dimension(:) :: b

On input, the N-element vector b. On output, the resulting N-element vector x.

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.